package com.cloudsea.yunhaistores.service.impl;

import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import com.cloudsea.yunhaistores.entity.Stores;
import com.cloudsea.yunhaistores.mapper.StoresMapper;
import com.cloudsea.yunhaistores.service.StoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Value;

import java.io.OutputStream;

@Service
public class StoreServiceImpl implements StoreService {
    @Autowired
    private StoresMapper storesMapper;

    // 从配置文件中注入我们定义的域名
    @Value("${app.domain}")
    private String appDomain;


    @Override
    public void generateOrderQrCode(Long storeId, OutputStream outputStream) {
        // 1. 检查门店是否存在
        Stores store = storesMapper.selectById(storeId);
        if (store == null) {
            throw new RuntimeException("门店不存在");
        }

        // 2. 拼接二维码的内容 (URL)
        String content = appDomain + "/menu?storeId=" + storeId;

        // 3. 配置二维码参数（可选，可以自定义大小、颜色等）
        QrConfig config = new QrConfig(300, 300); // 设置宽高
        config.setMargin(1); // 设置边距

        // 4. 调用 Hutool 工具类生成二维码，并将图片写入输出流
        QrCodeUtil.generate(content, config, "png", outputStream);
    }
}
